package com.yumis.service.modules.user.controller;

import com.yumis.service.common.enums.HttpState;
import com.yumis.service.common.vo.Response;
import com.yumis.service.model.pojo.Shop;
import com.yumis.service.model.pojo.UserVipCard;
import com.yumis.service.modules.user.service.UserVipCardService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@Slf4j
@RestController
@RequestMapping("uservipcard")
public class UserVipCardController {
    @Autowired
    private UserVipCardService userVipCardService;

    /**
     * 根据会员卡id查询中间表
     * @param vipCardId
     * @return
     */
    @PostMapping("searchVipCardByVipCardId")
    public ResponseEntity<Response> searchVipCardByVipCardId(@RequestParam("vipCardId") Long vipCardId){
        return ResponseEntity.ok().body(Response.buildResponse(HttpState.OK,userVipCardService.searchVipCardByVipCardId(vipCardId)));
    }

    /**
     * 新增
     * @param userVipCard
     * @return
     */
    @PostMapping("addUserVipCard")
    public ResponseEntity<Response> addUserVipCard(@Valid UserVipCard userVipCard){
        userVipCardService.userVipCard(userVipCard);
        return ResponseEntity.ok().body(Response.buildResponse(HttpState.OK));
    }
    /**
     * 根据id删除
     * @param id
     * @return
     */
    @PostMapping("deleteUserVipCardById")
    public ResponseEntity<Response> deleteUserVipCardById(@RequestParam("id") Long id){
        userVipCardService.deleteUserVipCardById(id);
        return ResponseEntity.ok().body(Response.buildResponse(HttpState.OK));
    }
    /**
     * 根据id查询
     * @param id
     * @return
     */
    @PostMapping("queryUserVipCardById")
    public ResponseEntity<Response> queryUserVipCardById(@RequestParam("id") Long id){
        return ResponseEntity.ok().body(Response.buildResponse(HttpState.OK,userVipCardService.queryUserVipCardById(id)));
    }

    /**
     * 修改
     * @param userVipCard
     * @return
     */
    @PostMapping("updateUserVipCard")
    public ResponseEntity<Response> updateUserVipCard(@Valid UserVipCard userVipCard){
        userVipCardService.updateUserVipCard(userVipCard);
        return ResponseEntity.ok().body(Response.buildResponse(HttpState.OK));
    }

}
